package com.ruoyi.scheme.service.Impl;

import com.ruoyi.scheme.dto.ErsSchemeCostBatchUpdateDTO;
import com.ruoyi.scheme.dto.ErsSchemeCostUpdateItemDTO;
import com.ruoyi.scheme.dto.ErsSchemeCostUploadDTO;
import com.ruoyi.scheme.mapper.ErsSchemeCostMapper;
import com.ruoyi.scheme.service.ErsSchemeCostService;
import com.ruoyi.scheme.vo.ErsSchemeCostVO;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
@RequiredArgsConstructor
public class ErsSchemeCostServiceImpl implements ErsSchemeCostService {

    private final ErsSchemeCostMapper ersSchemeCostMapper;
    @Override
    public void upload(List<ErsSchemeCostUploadDTO> list) {

        // TODO: 上传前直接将所有属于这个生态修复方案Id下的所有数据项删除，达到覆盖数据的目的
        ersSchemeCostMapper.delete(list.get(0).getSchemeId());
        ersSchemeCostMapper.upload(list);
    }

    @Override
    public void update(ErsSchemeCostBatchUpdateDTO ersSchemeCostBatchUpdateDTO) {


        List<ErsSchemeCostUpdateItemDTO> updateList = ersSchemeCostBatchUpdateDTO.getUpdateList();
        // TODO: 需要添加校验有无对应的造价分组Id
        ersSchemeCostMapper.update(updateList);
    }

    @Override
    public List<ErsSchemeCostVO> get(Long schemeId, Integer schemeCostId) {

        return ersSchemeCostMapper.get(schemeId, schemeCostId);
    }

    @Override
    public void delete(Long schemeId) {

        ersSchemeCostMapper.delete(schemeId);
    }
}
